草庐IT

leetcode 2746

全部标签

leetcode—矩阵

1矩阵置零给定一个 mxn 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。示例1:输入:matrix=[[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]方法一:使用标记数组新建两个标记数组rowcolumn第一次遍历数组记录数组中每一行每一列中的值是否为0第二次遍历数组将数组中0所在的行和列设置为0classSolution{publicvoidsetZeroes(int[][]matrix){intm=matrix.length;intn=matrix[0].length;//新建两个数组记录

【刷题】 leetcode 面试题 01.06 字符串压缩

字符串压缩字符串压缩思路一(双指针顺畅版)思路二(sprintf函数巧解版)Thanks♪(・ω・)ノ谢谢阅读下一篇文章见!!!字符串压缩来看题目:根据题目所说,我们需要完成函数书写,保证返回一个相对较小的字符数组:如果压缩后比原字符串小,则返回压缩字符串,否则返回原字符串。思路一(双指针顺畅版)本思路一步一步操作,逐步完成任务先确认字符串长度是否小于2,小于直接返回(因为压缩字符串长度至少是2)然后定义双指针和计数位开始遍历:*fast与*slow不相等则fast向后移动然后记录重复次数重复次数分位数进入数组slow到fast位置,计数归零重复3-6直到遍历结束char*compressSt

【leetcode100-051到054】【图论】四题合集

【岛屿数量】给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。思路:很经典也很基础的图搜题,bfs或者dfs都行,这题先用dfs写一下。每次开启函数(而不是被递归调用),会将当前起点能接触到的所有陆地都访问一次再退出,记录函数开启的次数即可。对每个格子,我们向上下左右四个方向拓展,对其中位置合法的、是陆地的、还没被访问过的格子进行递归调用,直到所有能访问的格子都访问完毕。代码其实跟树的dfs也大同小异,区别只在出口的判断条件,以及可能递归

leetcode:反转链表--反转链子表

题目:反转链表给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例:输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]提示:链表中节点的数目范围是 [0,5000]-5000代码:publicListNodereverseList(ListNodehead){if(head==null){returnnull;}ListNodelast=head;ListNodenode=head.next;ListNodetemp;//辅助交换while(node!=null){temp=node;node=node.next;temp.next=head;head=tem

leetcode两数之和

两数之和Givenanarrayofintegersnumsandanintegertarget,returnindicesofthetwonumberssuchthattheyadduptotarget.Youmayassumethateachinputwouldhaveexactlyonesolution,andyoumaynotusethesameelementtwice.Youcanreturntheanswerinanyorder.算法思路最容易想到的方法是枚举数组中的每一个数x,寻找数组中是否存在target-x。当我们使用遍历整个数组的方式寻找target-x时,需要注意到每一个

LeetCode 怎么刷进步最大?

文章目录刷题性价比刷题大概可以分为4个阶段怎么样到达第三阶段?华为OD算法/大厂面试高频题算法练习冲刺训练华为OD算法/大厂面试高频题算法练习冲刺训练本文转自我的合伙人@程序员吴师兄。刷题性价比算法是一种技能,是可以通过科学合理的方式训练出来的能力。在想刷题之前,得从心里认识到接受刷题很重要,才能坚持去刷题。江湖有个传言:国内刷LeetCode,最多够你吃1年老本;湾区刷LeetCode,够你吃10年老本了。为什么湾区的刷题性价比这么高呢?你想想,电面考4道题,一道题值5万!单位是Dollar!刷到就是赚到!!想想是不是很刺激,有没有动力开始刷题了!可以提速刷题了!就目前互联网的情况来说,无论

【leetcode】 vscode leetcode [ERROR] invalid password? 问题解决

目录问题解决问题使用vscode连接leetcode出现下列问题:vscodeleetcode[ERROR]invalidpassword?出现invalidpassword?的问题,首先需要检查账号密码是否出错,leetcode的账号可以是手机或邮箱,然后密码去check一下,以免是简单的bug。解决(1)检查是否切换为中国站如果账号是中国的,那么点击这个按钮:然后切换为中国站:上图已经是切换为中国站的。这时候可以尝试再次登陆,如果没问题就解决了。(2)力扣官网登录过账号,要去官网注销账号但是博主依然没有解决问题,依然出现登陆不上的问题。那么问题该怎么解决呢?博主发现,要是用浏览器在力扣官网

基于python的leetcode算法介绍之动态规划

文章目录零算法介绍一例题介绍使用最小花费爬楼梯问题分析Leetcode例题与思路[118.杨辉三角](https://leetcode.cn/problems/pascals-triangle/)解题思路题解[53.最大子数组和](https://leetcode.cn/problems/maximum-subarray/)解题思路题解[96.不同的二叉搜索树](https://leetcode.cn/problems/unique-binary-search-trees/)解题思路题解[322.零钱兑换](https://leetcode.cn/problems/coin-change/)解

Leetcoder Day1|数组理论|二分查找|移除元素

语言:Java/C++目录数组理论基础704.二分查找🏁解题思路:​​​​​​​35.搜索插入位置27.移除元素🏁解题思路:暴力解法双指针方法今日心得数组理论基础数组是存放在连续内存空间上的相同类型数据的集合下标都是从0开始的内存空间的地址是连续的——>增删需移动其他元素的地址数组元素不能被删除,只能覆盖C++中,vector的底层实现是array,是容器,不是数组,且C++中二维数组在地址空间上是连续的。704.二分查找给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。你

LeetCode 1423. 可获得的最大点数(很经典的一道固定窗口的滑窗题)

题目传送门题目描述几张卡牌排成一行,每张卡牌都有一个对应的点数。点数由整数数组cardPointscardPointscardPoints给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿kkk张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组cardPointscardPointscardPoints和整数kkk,请你返回可以获得的最大点数。示例1:输入:nums=[2,3,5,9],k=2输出:5解释:小偷窃取至少2间房屋,共有3种方式:-窃取下标0和2处的房屋,窃取能力为max(nums[0],nums[2])=5。-窃取下标0和3处的房屋,窃取能力为